Graphic user interface for a storage system

ABSTRACT

A method for interfacing with a storage system. The storage system has a plurality of elements having a visible relationship with each other, and the storage system is coupled to a system control unit including a display. The method includes: drawing an image of the elements on the display, the image showing the visible relationship, and modifying an appearance of one of the elements in the image to represent a property of the element. The method further includes, in response to a first input from a user of the storage system to the system control unit, drawing an enlarged image of the element and representing the property in the enlarged image. The method also includes, in response to a second input from a user of the storage system to the control unit with respect to the enlarged image, representing a further property of the element in the enlarged image.

RELATED APPLICATION

This application is a continuation-in-part to application Ser. No.11/090,444 titled “Graphic User Interface for a Storage System” filedMar. 24, 2005, which is incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates generally to data storage systems, andspecifically to a graphic user interface for facilitating operation ofthe system.

BACKGROUND OF THE INVENTION

As demands placed upon data storage systems increase and as the volumeof data processed by the systems also increases, operation of thestorage systems becomes more problematic. One of the aspects ofoperation of storage systems is the interface between an operator of thesystem and the system itself, and attempts to improve the overalloperation by relating to a graphic user interface (GUI) have been madein the prior art. Some of these GUIs use text describing elements of thestorage system, and/or icons depicting the elements, to help theoperator operate the system.

U.S. Pat. No. 6,845,395 to Blumenau et al., whose disclosure isincorporated herein by reference, describes a user interface that allowscommunication with a database. A graphic user interface graphicallyrepresents elements of the storage system, and permits a user to view atopology of the system at user-selectable levels of detail.

U.S. Pat. No. 6,845,344 to Lally et al., whose disclosure isincorporated herein by reference, describes a graphic user interfacethat enables time delays and different configurations to be applied toelements of a storage system.

U.S. Pat. No. 6,839,747 to Blumenau et al., whose disclosure isincorporated herein by reference, describes a graphic user interfacethat permits a user of a storage system to allow or deny access toelements of the system by manipulating graphical representations of theelements.

U.S. Pat. No. 6,751,758 to Alipui et al., whose disclosure isincorporated herein by reference, describes a graphic user interfacethat is claimed to provide clarity and simplicity in screening errors ina data storage system, and in responding to the errors.

SUMMARY OF THE INVENTION

In embodiments of the present invention, a graphic user interface (GUI)is used to operate a storage system which may comprise one or morestorage sub-systems. Each sub-system comprises elements which have avisible relationship with each other. The elements of each of thesub-systems are coupled to a system control unit which includes adisplay. For each sub-system, the GUI generates a visually realisticimage of the elements of the sub-system. The image is drawn on thedisplay, and has the same visible relationship as the actual elements;in addition, a property change of one or more of the elements may bedisplayed by altering the appearance of the element.

In response to one or more inputs from a user of the storage system, theappearance of the image or images may be further modified, themodification enabling the user to determine characteristics of thestorage system in a more efficient and intuitive manner. In addition,the user may interact with the image to make physical alterations to thestorage sub-systems.

In one embodiment of the present invention, a first input from the usergenerates an enlarged image of one of the elements. The enlarged imageprovides positive feedback to the user that the element has beenselected. A second input enables the user to check and manipulatecharacteristics of the element.

In an alternative embodiment comprising a plurality of sub-systems, eachsub-system is displayed as a reduced size realistic image. The userinput generates one of the images as a larger image. The user may usefurther inputs, as described above, to interact with the enlarged image.

In a further alternative embodiment, the user input forms an at leastpartially transparent overlay on the realistic image of a sub-system.The user may apply further inputs to display characteristics of elementsof the sub-system on the overlay, while maintaining the visibility ofthe underlying images of the elements.

In a disclosed embodiment, the user input generates an image of anotherside of the sub-system that is not initially shown on the display. Forexample, the initial image may be of a front side of the sub-system, andthe user input may cause a part or all of the rear side to be displayed.The user may apply further inputs to check and/or manipulatecharacteristics of the sub-system using the image of the other side.

There is therefore provided, according to an embodiment of the presentinvention, a method for interfacing with a storage system having aplurality of elements, the elements having a visible relationship witheach other, and being coupled to a system control unit including adisplay, the method including:

drawing an image of the elements on the display, the image showing thevisible relationship;

modifying an appearance of one of the elements in the image to representa property of the element;

in response to a first input from a user of the storage system to thesystem control unit, drawing an enlarged image of the element andrepresenting the property in the enlarged image; and

in response to a second input from a user of the storage system to thesystem control unit with respect to the enlarged image, representing afurther property of the element in the enlarged image.

Typically, the image is a realistic image of the storage system, andwherein the enlarged image is a realistic image of the one element.Optionally, representing the property includes displaying textdescribing the property on the display.

There is further provided, according to an embodiment of the presentinvention, a method for interfacing with a storage system having a firstplurality of sub-systems, each of the sub-systems having respectivesecond pluralities of elements having respective visible relationshipswith each other, each of the sub-systems being coupled to a systemcontrol unit including a display, the method including:

drawing an image of each of the sub-systems on the display, each suchimage having the respective second plurality of elements and showing therespective visible relationships;

in response to a first input from a user of the storage system,selecting the image of a given one of the sub-systems, so as to form aselected image;

enlarging the selected image to form an enlarged image of the givensub-system;

modifying an appearance of one of the elements in the enlarged image torepresent a property of the element; and

in response to a second input from the user to the system control unit,making a change in the property of the element and representing thechange in the appearance of the element.

Typically, the image of each of the sub-systems is a realistic image.

There is also provided, according to an embodiment of the presentinvention, a method for interfacing with a storage system having aplurality of elements, the elements having a visible relationship witheach other, and being coupled to a system control unit including adisplay, the method including:

drawing an image of the elements on the display, the image showing thevisible relationship;

modifying an appearance of one of the elements in the image to representa first property of the element; and

in response to an input from the user, drawing an at least partlytransparent overlay on the image of the elements and drawing on theoverlay a representation of a second property of the element.

In one embodiment, the representation includes a graphical plot of theproperty.

Optionally, the method also includes drawing on the overlay therepresentation of a third property of a second of the elements.

There is yet further provided, according to an embodiment of the presentinvention, a method for interfacing with a storage system having aplurality of elements and a first side having a first visiblerelationship of the elements with each other and a second side having asecond visible relationship of the elements with each other, the storagesystem being coupled to a system control unit including a display, themethod including:

drawing a first image of the first side on the display, the first imageshowing the first visible relationship of the elements;

modifying a first appearance of a given one of the elements in the firstimage to represent a first property of the element;

in response to an input from a user of the storage system to the systemcontrol unit, drawing a second image of the second side on the display,the second image showing the second visible relationship of theelements; and

modifying a second appearance of the given element in the second imageto represent a second property of the element.

Typically, the second side of the storage system is invisible to theuser at a time when the first side is visible to the user.

There is further provided, according to an embodiment of the presentinvention, apparatus for interfacing with a storage system having aplurality of elements, the elements having a visible relationship witheach other, and being coupled to a system control unit including adisplay, the apparatus including:

a processor, which is adapted to:

draw an image of the elements on the display, the image showing thevisible relationship,

modify an appearance of one of the elements in the image to represent aproperty of the element,

in response to a first input from a user of the storage system to thesystem control unit, draw an enlarged image of the element and representthe property in the enlarged image, and

in response to a second input from a user of the storage system to thesystem control unit with respect to the enlarged image, represent afurther property of the element in the enlarged image.

There is yet further provided, according to an embodiment of the presentinvention, apparatus for interfacing with a storage system having aplurality of elements, the elements having a visible relationship witheach other, and being coupled to a system control unit including adisplay, the apparatus including:

a processor which is adapted to:

draw an image of the elements on the display, the image showing thevisible relationship,

modify an appearance of one of the elements in the image to represent afirst property of the element, and

in response to an input from the user, draw an at least partlytransparent overlay on the image of the elements and draw on the overlaya representation of a second property of the element.

The present invention will be more fully understood from the followingdetailed description of the embodiments thereof, taken together with thedrawings in which:

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustration of a graphic user interface (GUI) fora data storage system, according to an embodiment of the presentinvention;

FIG. 2 illustrates a console in the system of FIG. 1, and an image ofthe console, according to an embodiment of the present invention;

FIGS. 3A-3L show examples of use of the GUI of FIG. 1, according toembodiments of the present invention; and

FIGS. 4A-4F show further examples of the use of the GUI of FIG. 1,according to embodiments of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS

Reference is now made to FIG. 1, which is a schematic illustration of agraphic user interface (GUI) 10 for a data storage system 20, accordingto an embodiment of the present invention. System 20 acts as a facilityfor one or more hosts 24 to read data from, write data to, and storedata. System 20 is assumed to comprise one or more physically separatesub-systems 22, and the elements of each sub-system are typicallypositioned in one respective location and are typically coupled togetherusing cables and/or other physical couplings.

Storage system 20 is controlled by a system operator 28 via a systemcontrol unit 11, typically comprising an off-the-shelf personalcomputer. Hosts 24, sub-systems 22, and unit 11 may be coupled using anysuitable communication method known in the art, including wireless,wired, and/or optical communication methods, and are assumed herein tobe coupled by and operate in a network 13.

Control unit 11 comprises a processing unit 16 coupled to a memory 18 ina processor 15, and the processor operates a display 12. By way ofexample, the system operator is assumed to operate control unit 11 usinga keyboard 14 and/or a pointing device 26, which provide operator inputsto the control unit. It will be understood, however, that operation ofthe present invention is not limited to a particular method forinputting to system control unit 11, that any other suitable system forproviding such operator inputs may be used, and that all such systemsare considered to be comprised within the scope of the presentinvention. As is described in more detail below, system operator 28generates an interactive realistic non-iconic image of each physicalsub-system 22 and its elements on display 12, using display software 32stored in memory 18. Display software 32 generates the images to besubstantially similar in texture and color gradations to images producedby photographing the sub-system. Typically the images of sub-system 22and its elements are three-dimensional (3D) images. It will beappreciated that each sub-system 22 typically comprises differentelements, and that each of the sub-systems are typically arrangedphysically differently. By way of example, the description hereinbelowassumes that one of sub-systems 22 comprises a console 34 housingelements of the sub-system, and that display software 32 generates a 3Dimage 30 of console 34.

FIG. 2 illustrates console 34 and image 30 of the console, according toan embodiment of the present invention. At installation of console 34,elements of the sub-system are positioned in racks 48, typicallyindustry-standard racks, for example 19″ racks, of the console. Eachrack 48 typically comprises a back-plane, mid-plane, or other connectingsystem known in the art such as cables, which mate with the elementinserted into the rack, and via which the element is able to transmitand receive data.

The elements installed in console 34 comprise three computers 40. By wayof example, each computer 40 is herein assumed to comprise an interfacemodule 43, which acts as an interface between storage system 20 andhosts 24, and a management module 45, which manages operations of thestorage sub-system. Each computer 40 typically includes a processingunit (PU) 42 and a memory 44, the memory typically being used as a cachefor its PU and/or its interface module, as well as for storing softwareused by its computer in operating sub-system 22.

Elements of console 34 also comprise computing units 46 which act asnon-volatile data storage units, and which are herein by way of exampleassumed to be arranged in respective banks 50 of racks 48, and which areused to store data used by the system. Computing units 46 are alsoreferred to herein as non-volatile data storage units 46. Eachnon-volatile data storage unit typically comprises one or more magneticdisks, for example, fifteen disks, operating together with a cache forthe disks. It will be appreciated that other forms of non-volatile datastorage unit, such as compact disks, magnetic tapes or media, opticalmedia, and/or other media wherein data may be stored permanently, may beincluded in one or more of banks 50, and that all such modes ofnon-volatile storage are assumed to be comprised within the presentinvention.

Elements installed in console 34 further comprise power supplies 52,typically uninterruptible power supplies, in respective racks 48.Typically, elements corresponding to computers 40, storage units 46, andpower supplies 52 are installed in other sub-systems 22, in a generallysimilar configuration to that of the elements installed in console 34.In an embodiment of the present invention, the elements of storagesystem 20 are configured to operate with redundancy, so that storagesystem 20 may continue to function on failure of a processor, a storageunit, or a power supply of any specific sub-system 22. The redundancymay be implemented to operate at a local sub-system level, i.e., withinthe sub-system, and/or at a system level, i.e., between sub-systems.

In the following description, unless otherwise stated, console 34 isassumed to comprise three computers 40, 120 storage units 46 arranged ineight banks, each bank 50 having fifteen units, and three power supplies52 which are uninterruptible. To distinguish between similar elements, aletter suffix is added to the identifying numeral. For example, thethree computers of console 34 may be identified as computer 40A, 40B,and 40C.

Image 30 is generated so as to be substantially indistinguishable froman image produced by photographing console 34, so that the imagepresented on display 12 appears to operator 28 as a realisticreproduction of console 34, and not as an iconic reproduction. Image 30is typically a three-dimensional image, and the realism of the image istypically further enhanced using methods well known in the graphic arts,such as varying color dimensions and/or a perspective of the image or apart of the image. Such methods are also applied so thatchanges/modifications in image 30, in response to an input from operator28 as described in more detail below, also appear to the operator asrealistic changes/modifications. Image 30 is produced by anyimage-producing method known in the art. In one embodiment of thepresent invention, image 30 is produced using a film or a digitalcamera, by taking a photograph of the console. It will be understoodthat image 30, as represented herein, is a schematic simplifiedrepresentation of the realistic image presented on display 12.

Display software 32 typically generates image 30 from a skeleton imageof an empty console, which the software populates with images of theelements which have been installed in console 34. The images of theelements are also generated by software 32.

While the description herein, except where otherwise stated, relates toa sub-system 22 in the form of console 34, it will be appreciated thatother sub-systems 22 may be in the form of more than one console, and/ormay be assembled in other physical arrangements. In these cases, animage of a skeleton of the respective physical arrangement is formed bythe display software 32 of the sub-system. The skeleton image may beproduced as a computer-generated image using one or more photographs ofthe sub-system, and/or by an operator such as operator 28 using acomputer graphics program, by methods which are known in the art. Theskeleton image is populated, as is described herein for console 34, withimages of the elements installed in the respective sub-system.

The elements in console 34 have a visual relationship with respect toeach other that is apparent to an observer of the console, and software32 generates the images of the elements to have the same visualrelationship as that of the elements themselves. Hereinbelow, asnecessary, images of an element are differentiated from the elementitself by adding a suffix letter I to the identifying numeral of theelement. Thus, images of computers 40A, 40B, and 40C are labeled 40AI,40BI, 40CI.

Each of the elements installed in console 34 comprises identifyinghardware and/or software, which operates so that when any specificelement has been installed in the console, control unit 11 is able toidentify a type and a position of the element. Control unit 11 is alsoable to detect the absence of any elements in a particular positionwithin console 34. In addition to having identifying hardware and/orsoftware, each type of element comprises information collecting hardwareand/or software, which enables each specific element to gatherinformation regarding the element, and to transmit this information tounit 11. The type of information collected and transmitted is a functionof the element. In the specification and in the claims, informationconcerning a particular aspect of an element that may be collected bycontrol unit 11 is termed a property of the element. Such aspectsinclude, but are not limited to, the type, status, and the position ofthe element, as well as operating parameters of the element. Certainproperties such as the position of the element, and some of theoperating parameters thereof, may be changed. Such changes includecopying of data to the element, reading data from the element, erasureof data from the element, partitioning of the element, andreconfiguration of data within the element. Those skilled in the artwill be able to formulate other possible changes in operating parametersof specific elements, and all such changes are assumed to be within thescope of the present invention. Some aspects of elements are describedin more detail hereinbelow.

For a power supply such as uninterruptible power supply 52, the powersupply typically transmits whether the power supply is supplying powerto console 34 in the absence of line power. If line power is notpresent, the power supply transmits the values of the voltages andcurrents it is supplying and the remaining time it is able to safelycontinue supplying these voltages and currents. If line power ispresent, the power supply transmits this fact to unit 11, together withother relevant information such as how the power supply is able to reactin the case of a line power failure.

Each non-volatile data storage unit 46 typically transmits a totalcapacity of the unit, together with how much of the capacity is beingused. Each storage unit may also transmit a number of primary andsecondary slices that the unit has been partitioned into, primary slicesbeing used to store a first copy of data, and secondary slices beingused to store a backup data copy. Other information that a storage unittransmits typically includes a status of the unit, e.g., whether theunit is in service and available, is booting, has an “OK” or a “failed”status, and/or an average throughput over a predetermined period oftime, an average latency over the predetermined period of time, whetherthe unit is in a process of rebuilding its data, to which cache unit thestorage unit is coupled, and properties of the cache unit.

In an embodiment of the present invention, each storage unit transmitsdata reflecting the activity of the unit, for example, the number ofread and/or write requests handled by the unit in a given time, and/orthe size of data read from or written to the unit in the given time.Each computer 40 typically transmits data concerning software andhardware it is configured to run, such as the operation or non-operationof each of its management and interface modules such as a capacity ofthe modules, a fraction of the capacity that is being used, and/or anavailability of the module in the case of it being configured to fulfilla redundancy requirement.

Each computer 40 may also transmit information on specific programsdesigned to run on the computer, and the status of the programs, i.e.,if the programs are executing correctly or if there is some problem withthe execution. Also transmitted may be data concerning the PU of thecomputer, such as the activity of the PU, and of the memory coupled tothe PU, such as, in the case of the memory being used as a cache,relevant data concerning the cache use. Typically, such data includes afraction of “hits” which are successful in a given time period, i.e.,wherein the data requested is already present in the cache. Typically,one of computers 40 acts as an operational manager, in which case theother computers 40 are configured as one or more redundant managers.

The data transmitted from the individual elements of console 34 is usedby control unit 11 to generate graphic information about specificelements of system 20, combinations of specific elements, and about theoverall system. The graphic information is overlaid on image 30. Forcombinations of specific elements, and for the overall system, thegraphic information is typically generated by control unit 11 analyzinga variety of received data from the elements of system 20 to deriveparameters for the required combination and/or the overall system. Thegraphic information may be presented automatically on GUI 10 without anyinput from operator 28, or may be accessed by the operator providing aninput to processing unit 16, typically using a pointing device such asdevice 26.

In addition to transmitting information data to control unit 11, each ofthe elements of console 34 is typically configured to receive managementand control signals from the control unit for operating the element.Such management and control signals include signals that activate,deactivate, update, and/or reconfigure an element, and are typicallyprovided by operator 28 providing an input to GUI 10 on display 12. GUI10 thus acts as a fully interactive monitoring and control interface. Inaddition, because the GUI is substantially visually identical tophysical console 34, the ease of use of the interface is enhanced.

The input provided by operator 28 is typically initiated by the operatorusing pointing device 26 to select a particular element. The selectionmay be by moving the cursor of device 26 over the element, and/or byclicking on the element, the latter being understood to comprise allpointing device methods known in the art, including single, double, andtreble clicking, and/or use of left, right, or intermediate pointingdevice controls. The different forms of selection typically generatedifferent responses on display 12, such as generating a menu having oneor more properties of the selected element that may be chosen for moredetailed display by operator 28. The responses are pre-programmed intodisplay software 32 by a system operator such as operator 28.

An embodiment of the present invention uses device 26 to implement theconcept of “drag-and-drop,” the concept being applied herein by displaysoftware 32 to the images of selected elements. Functions that may beperformed by drag-and-drop include, but are not limited to, copying thecontents of one storage unit 46 to another storage unit 46, moving thecontents from one storage unit 46 to another storage unit 46, andrebuilding or reconfiguring the contents of a storage unit 46. Otherfunctions that may be performed using device 26 on image 30 will beapparent to those skilled in the art, and all such functions are assumedto be included within the scope of the present invention.

FIGS. 3A-3L below show examples of information received from elementsand combinations of elements of console 34, as well as operations thatmay be performed on the elements, the information and the operationsbeing considered to be properties of their respective element orcombination of elements, and being transmitted via GUI 10, according toembodiments of the present invention. It will be appreciated that FIGS.3A-3L are schematic illustrations of changes/modifications that areoverlaid on realistic image 30, and that the overlaidchanges/modifications do not significantly reduce the realism of theunderlying image.

In a diagram 60 in FIG. 3A, computers 40A, 40B, and 40C have transmittedinformation to control unit 11. In image 40AI the image “M” indicatesthat the management module of computer 40A is operational. Images 40BIand 40CI indicate that each respective computer has detected a problemin one of the modules it is running. GUI 10 presents each problem usingspecific problem-detected symbols 62 and 63. Symbol 62 indicates aproblem has been detected in the management module of computer 40B;symbol 63 indicates that a problem has been detected in the interfacemodule of computer 40C. Typically, a level of severity of the problemmay be indicated by applying different colors to each problem-detectedsymbol, and/or by providing another type of visual indication such asconfiguring the symbol to blink and/or change form. Optionally, a nameof a program having the problem, and/or other information relating tothe problem, is displayed together with the symbol. Operator 28 maydetermine further information on the problem detected by using device 26to interrogate a specific computer, for example by pointing to thesymbol 62 displayed on image 40BI. The operator may also activate ordeactivate the computers by pointing/clicking on images 64 or 66 ofpower switches of computer images 40BI and 40CI, and may also activateother elements such as banks 50 or power supplies 52 bypointing/clicking on images of their power switches, exemplified by animage 67 of a switch for one of banks 50.

Image 50AI is shaded, to represent that on display 12 the image of bank50A is colored. Typically, the color represents a state of bank 50A. Forexample, image 50AI may be colored red, while maintaining the underlyingrealism of the image of bank 50A, to represent that the bank has failed.

GUI 10 also indicates that power supply 52C has informed unit 11 that itis being phased out of operation in console 34 by altering a color ofthe image 52CI, the color change being represented by shading in FIG.3A. The operator 28 may determine further information on the problem byusing device 26 to interrogate the power supply, for example by pointingto/clicking on image 52CI.

In FIG. 3B a diagram 65 shows that, on interrogating power supply 52B bypointing to/clicking on image 52BI, GUI 10 displays a message indicatingthe status of the power supply.

In a diagram 70 in FIG. 3C, at a time that computer 40B appears to befunctioning correctly, operator 28 interrogates the computer todetermine the status of the interface module the computer is operating,using device 26 to select image 40BI. In response GUI 10 displays amessage 72 that the module is operating correctly. In a diagram 76 inFIG. 3D, the “M” of image 40AI indicates that the management module ofcomputer 40A is operational. Operator 28 interrogates computer 40C todetermine the status of its management module using image 40CI, and inresponse GUI 10 displays a management program symbol 77 indicating thatthe management module of computer 40C is available, as well as a message78 that the status of the management module is OK.

In a diagram 80 in FIG. 3E, GUI 10 shows that computer 40B has detecteda problem in its management module, GUI 10 indicating the problem byoverlaying a problem-indicating symbol 82 on the appropriate part ofimage 40BI. Computer 40C has detected a problem in the interface moduleit is running, GUI 10 overlaying problem-indicating image 84 on theappropriate part of image 40CI. The “M” of image 40AI indicates that themanagement module of computer 40A is operational. The problem-indicatingsymbols are typically colored with different colors to indicate a levelof severity of the detected problem. At the time that the problems areindicated, operator 28 selects image 40CI to interrogate computer 40Cconcerning its management module, and GUI 10 illustrates with a programsymbol 86 and a message 88 that the status of the management module isOK.

FIG. 3F illustrates information received from disks 46. In a diagram 90,GUI 10 shows that a bank 50A of disks that have failed are rebooting bysurrounding a colored image 50AI with a different colored border 92, Thedifferent colors are shown in FIG. 3F as different shadings.

In a diagram 100 in FIG. 3G, GUI 10 indicates that bank 50A has informedunit 11 of a problem by coloring image 50AI. Operator 28 may interrogateeach of the units in bank 50A, by pointing to/clicking on its respectiveimage in image 50AI. By way of example, diagram 100 shows that onpointing to image 46AI of storage unit 46A, operator 28 receives amessage 102 giving details of the unit and of the problem.

In a diagram 110 in FIG. 3H, GUI 10 shows that console 34 has beenreconfigured from the configurations of FIGS. 3A-3G. Console 34 nowcomprises three computers 40A, 40B, and 40C, and six banks 50 of storageunits, each bank consisting of five storage units 46. Typically thereconfiguration is performed by operator 28 using device 26 to closedown the other ten storage units in each bank, by clicking on theiron/off switches. By way of example, a disk in the fourth bank of disksis illustrated as being interrogated by pointing to its image 46BI, anda message 112 giving details of the disk displays on GUI 10.

In an embodiment of the present invention, control unit 11 presentsmetrics of the behavior of the elements comprised in console 34 on image30, the metrics being presented in a graphical and/or pictorial form andoverlaid on the image. FIGS. 31 and 3J illustrate examples of suchmetrics. The metrics are typically derived by control unit 11 frominformation transmitted by the elements. For example, control unit 11may request load data from each of storage units 46, and may derive anaverage load for console 34. Control unit 11 may then generate acomparison metric of the load on each storage unit, relative to theaverage, and unit 11 colors each of the images of units 46 according totheir metric. Thus, unit 11 generates a visual map of the load balancingof units 46. By way of example, load balancing as measured for each bank50 of units 46 is illustrated in diagram 120 of FIG. 31.

Similar visual maps, using visual features or cues other than colorknown in the art, may be generated to illustrate metrics of specificproperties of console 34. Such properties include free capacity and/oractivity of the storage units, successful hits on the caches of theunits, level of installed redundancy of the units, and other propertiesthat will be apparent to those skilled in the art. In FIG. 3J a diagram130 illustrates a visual map of the free capacity of each of the storageunits 46 in a bank 132 by overlaying and fitting a histogram to theimages of the storage units. In an embodiment of the present invention,the image of each storage unit comprises an image of a LED, and flashingof the LED image is used as a cue to indicate activity of the storageunit: the faster the flashing, the higher the rate of activity of theunit.

As described above, device 26 may be used to perform drag-and-dropoperations between elements of console 34. Such a drag-and-dropoperation is illustrated in FIG. 3K, which shows copying of data from afirst storage unit 46 to a second storage unit 46, by selecting thefirst storage unit, and transferring an image of the unit along a path142 to the second unit.

In FIG. 3L a diagram 150 illustrates how a user of GUI 10 may perform adrag-and-drop operation between elements of different sub-systems 22.The user, such as operator 28, generates image 30 of console 34 on apart 154 of display 12, and an image 152 of another sub-system 22 onanother part 156 of the display. The other sub-system 22 and console 34are typically configured differently. The user may then use thedrag-and-drop operation to copy data from a storage unit of console 34to a storage unit of the other sub-system.

FIGS. 4A-4F show further examples of information received from elementsand combinations of elements of console 34, and from other consoles insystem 20, the information being considered to be a property of theirrespective element or combination of elements, and being transmitted viaGUI 10, according to embodiments of the present invention. It will beappreciated that FIGS. 4A-4F are schematic illustrations of informationthat is overlaid on realistic image 30; where the overlaid informationcomprises images, it will be understood that the realism of the imagesis of substantially the same quality as realistic image 30. In thefollowing description, references to a console are assumed to be toconsole 34 unless otherwise stated.

FIG. 4A illustrates operation of GUI 10 in a zoom mode. In a diagram200, GUI 10 shows that console 34 has been reconfigured from theconfigurations of FIGS. 3A-3K. Console 34 now comprises one computer40A, indicated by image 40AI, and two banks 50 of storage units,indicated by images 50AI and 50BI. Each bank 50 comprises fifteenstorage units 46. Operator 28 is able to receive information aboutcomputer 40A and banks 50, by pointing to the respective images withpointing device 26, the information being presented to the operator,according to the type of component, generally as described above withreference to FIGS. 3A-3J.

In addition, although the components and sub-components of the systemswithin console 34 are typically densely packed in the console, operator28 is able to receive more detailed information concerning the operationof the components and/or sub-components in embodiments of the presentinvention. To implement the more detailed inspection of these elementsin the console, GUI 10 is able to operate in a mode, herein termed avisual zoom mode, which generates enlarged images of each component andsub-component, and of their respective internal elements. When operatingin the visual zoom mode, operator 28 selects the image of the component,typically using pointing device 26. The selected image appears as anenlarged interactive realistic non-iconic image of the component ondisplay 12. The enlarged image is typically overlaid on image 30 in anat least partially transparent form, so that underlying sections ofimage 30 remain visible. In an alternative embodiment of the presentinvention, the enlarged image may be in a non-transparent form on image30.

By way of example, in diagram 200 an image 202 is assumed to be anenlarged view of computer 40A. To generate image 202, operator 28 in thevisual zoom mode selects image 40AI using pointing device 26, generatingenlarged realistic image 202 of the computer on display 12. Enlargedimage 202 provides positive feedback to operator 28 that computer 40A,as distinct from another part of console 34, has been selected for moredetailed inspection. Once image 202 has been generated on display 12,the operator is able to use pointing device 26 and/or keyboard 14 todisplay characteristics and parameters of the sub-components of computer40A.

Computer 40A comprises a number of sub-components 203, herein, by way ofexample, assumed to be a central processing unit, a memory, acommunication card, and fans. Respective images 204, 206, 208, and 210of these sub-components are shown schematically in FIG. 4A, and inembodiments of the present invention, operator 28 may determineproperties of all sub-components 203, as described above. Typically,computer 40A comprises other sub-components, such as a power supplyand/or one or more hard disks, the images of which, for clarity, are notshown in FIG. 4A.

The zoom mode may be advantageously used to inspect more closely, and/orto modify a property of, one of the sub-components of a component ofconsole 34 such as computer 40A. An example of how the zoom mode mayoperate is described herein:

Image 40AI may indicate that computer 40A is not operating within, or isoperating too close to, assigned parameter boundaries of the computer.For example, the rate of I/O operations of computer 40A may besignificantly below a previously established average for the computer.The indication may be provided by changing the color of image 40AI,generally as has been described above with reference to FIG. 3G.Operator 28 generates an enlarged image of computer 40A by entering thevisual zoom mode, selecting image 40AI, and generating enlarged image202. The operator is then able to interrogate the memory of computer 40Aby applying pointing device 26 to image 206. The interrogation generatesrelevant information regarding the sub-component, such as, as shown inFIG. 4A, a window 214 showing utilization of the memory.

The zoom mode may be implemented to operate on some of thesub-components of console 34, to display further detail and propertiesof these sub-components. For example, image 202 displays a first image208 of the communication card of computer 40A, and the card may beinterrogated substantially as described above for the memory, byoperator 28 applying pointing device 26 to image 208. (For clarity,since the results of the interrogation are of the same general form aswindow 214, the card interrogation results are not shown in FIG. 4A.)Applying the zoom mode to image 208 generates a further enlarged image228 of the communication card, showing images 230, 232, and 234, ofthree ports of the card. Each port may be interrogated; by way ofexample, a window 238 shows the result of interrogating the uppermostport of the communication card.

FIGS. 4B and 4C illustrate operation of GUI 10 in a multi-system mode.As illustrated in a diagram 300, GUI 10 may show miniature realisticimages 301, 302, 304 and 306 of respective different sub-systems 22operating in system 20 (FIG. 1); the sub-systems are herein assumed tooperate in consoles other than console 34, having respective consoleidentifiers 106, 106, 180, and 220. As described in more detail below,there are two sub-systems in console 106. To generate diagram 300,operator 28 operates in a multi-system mode which displays images 301,302, 304 and 306; the images enable the operator to see parameters andcharacteristics of some or all of sub-systems 22 so displayed. Althoughimages 301, 302, 304, and 306 are miniaturized, they are typicallyconfigured to provide at least some of the information that is availablefor larger images of each of the sub-systems, such as the informationdescribed in the examples above. By way of example, image 304 ofsub-system 180 indicates, by a part being colored red, shown as shading305 in the diagram, that one of the disks of the sub-system has failed.

In the multi-system mode, operator 28 may generate an image, hereintermed an enlarged image, of each of the sub-systems, the enlarged imagehaving substantially the same size on display 12 as that of one of theimages in FIG. 3L. Operator 28 typically generates the enlarged imageusing pointing device 26. By way of example, diagram 300 shows such anenlarged image 308 for a first sub-system in console 106, correspondingto image 301. Enlarged image 308 has substantially the same propertiesas the images described herein. Thus, for example, operator 28 is ableto apply operations similar to those described above with respect toFIGS. 3K and 3L, and/or to use the visual zoom mode described above withrespect to FIG. 4A to inspect components and sub-components of the firstsub-system.

As exemplified by images 301 and 302, at least some of sub-systems 22(FIG. 1) may also be configured within the same console. In the case ofmore than one sub-system in the same console, the multi-system modedisplays multiple miniaturized images of the console, each of the imagesshowing the components of its respective sub-system. As is describedabove, operator 28 may generate an enlarged image of each sub-system,and the enlarged image also has the properties described above. FIG. 4Cillustrates, in a diagram 350, an enlarged image 352 showing componentsof a second sub-system in console 106, corresponding to image 302.

FIG. 4D illustrates in a diagram 400 the operation of GUI 10 in anoverlay mode. In the overlay mode, operator 28 generates asemi-transparent overlay 402, behind which features of an imagedsub-system are visible. The imaged sub-system is herein, by way ofexample, assumed to be an image of the console 34 corresponding to FIG.3E. Overlay 402 enables operator 28 to display further properties of theimaged sub-system while maintaining the visibility of the underlyingelements. Typically, features on the overlay and on the underlying imageare selected using different operations of pointing device 26, such asclicking a left or a right mouse button. Alternatively or additionally,the different features may be selected using a menu.

As shown in diagram 400, underlying elements shown in diagram 80 arestill visible. For example, an image 404 of bank 6 may be colored red,indicated in FIG. 4D by shading, to show that the bank has failed. Inthe overlay mode this remains visible; in addition, operator 28 maydisplay on overlay 402 further properties of the sub-system. By way ofexample, diagram 400 illustrates the loading vs. time of bank 2 of thesub-system, displayed as a bar graph 406. It will be appreciated thatother convenient graphical and/or textual displays, such as line graphs,may be incorporated into overlay 402; all such displays known in the artare assumed to be comprised in the present invention.

FIGS. 4E and 4F illustrate in a diagram 500 and a diagram 550 theoperation of GUI 10 in a hidden view mode. Since console 34 is athree-dimensional object, image 30 of the console typically does notshow all parts of the console that are physically visible to operator28, since the operator is able to view the console from a number ofdifferent perspectives. The different views that operator 28 can see ofconsole 34 include front, rear, left, and right sides of the console. Inthe hidden view mode of operation, operator 28 is able to generate oneor more further images of console 34 showing sections of the consolethat are not shown in image 30.

Diagram 500 illustrates an image 502 generated when operator 28 operatesGUI 10 in a first aspect of the hidden view mode. In the first aspect,operator selects a section 504 of the image of the console, and thesystem control unit generates image 502 of the back of the section.Typically, image 502 has the same characteristics as the interactiveimages described above, so that using device 26 the operator is able toview characteristics of, and/or perform operations on the back of, theelement of console 34 corresponding to the section. For example, section504 may be the image of a cache 505 in console 34, and cache 505 may becoupled internally to a cache 507 in the console. The coupling may beshown visually in image 502 by light images 508, and may be physicallyactivated or de-activated by a switch at the back of the cache. Byclicking on an image 510 of the switch, operator 28 may activate andde-activate the switch, the operations being shown as having beeneffected by changes in images 508. These changes correspond to actualchanges of the lights on the back of cache 505 which would be caused byoperating the physical switch.

In a second aspect of the hidden view mode, illustrated in diagram 550(FIG. 4F), operator 28 is able to generate an image 552 of the completeback of console 34. Image 552 shows the activity of all the operatingelements of the console. In addition to showing the activity of theelements, operator 28 is able to view characteristics of, and/or performoperations on the back of, elements visible in image 552, generally asdescribed above for image 502.

It will be appreciated that the embodiments described above are cited byway of example, and that the present invention is not limited to whathas been particularly shown and described hereinabove. Rather, the scopeof the present invention includes both combinations and sub-combinationsof the various features described hereinabove, as well as variations andmodifications thereof which would occur to persons skilled in the artupon reading the foregoing description and which are not disclosed inthe prior art.

1. A method for interfacing with a storage system having a plurality ofelements, the elements having a visible relationship with each other,and being coupled to a system control unit including a display, themethod comprising: drawing an image of the elements on the display, theimage showing the visible relationship; modifying an appearance of oneof the elements in the image to represent a property of the element; inresponse to a first input from a user of the storage system to thesystem control unit, drawing an enlarged image of the element andrepresenting the property in the enlarged image; and in response to asecond input from a user of the storage system to the system controlunit with respect to the enlarged image, representing a further propertyof the element in the enlarged image.
 2. The method according to claim1, wherein the image is a realistic image of the storage system, andwherein the enlarged image is a realistic image of the one element. 3.The method according to claim 1, wherein representing the propertycomprises displaying text describing the property on the display.
 4. Amethod for interfacing with a storage system having a first plurality ofsub-systems, each of the sub-systems having respective secondpluralities of elements having respective visible relationships witheach other, each of the sub-systems being coupled to a system controlunit including a display, the method comprising: drawing an image ofeach of the sub-systems on the display, each such image having therespective second plurality of elements and showing the respectivevisible relationships; in response to a first input from a user of thestorage system, selecting the image of a given one of the sub-systems,so as to form a selected image; enlarging the selected image to form anenlarged image of the given sub-system; modifying an appearance of oneof the elements in the enlarged image to represent a property of theelement; and in response to a second input from the user to the systemcontrol unit, making a change in the property of the element andrepresenting the change in the appearance of the element.
 5. The methodaccording to claim 4, wherein the image of each of the sub-systems is arealistic image.
 6. A method for interfacing with a storage systemhaving a plurality of elements, the elements having a visiblerelationship with each other, and being coupled to a system control unitincluding a display, the method comprising: drawing an image of theelements on the display, the image showing the visible relationship;modifying an appearance of one of the elements in the image to representa first property of the element; and in response to an input from theuser, drawing an at least partly transparent overlay on the image of theelements and drawing on the overlay a representation of a secondproperty of the element.
 7. The method according to claim 6, wherein therepresentation comprises a graphical plot of the property.
 8. The methodaccording to claim 6, and comprising drawing on the overlay therepresentation of a third property of a second of the elements.
 9. Amethod for interfacing with a storage system having a plurality ofelements and a first side having a first visible relationship of theelements with each other and a second side having a second visiblerelationship of the elements with each other, the storage system beingcoupled to a system control unit including a display, the methodcomprising: drawing a first image of the first side on the display, thefirst image showing the first visible relationship of the elements;modifying a first appearance of a given one of the elements in the firstimage to represent a first property of the element; in response to aninput from a user of the storage system to the system control unit,drawing a second image of the second side on the display, the secondimage showing the second visible relationship of the elements; andmodifying a second appearance of the given element in the second imageto represent a second property of the element.
 10. The method accordingto claim 9, wherein the second side of the storage system is invisibleto the user at a time when the first side is visible to the user. 11.Apparatus for interfacing with a storage system having a plurality ofelements, the elements having a visible relationship with each other,and being coupled to a system control unit including a display, theapparatus comprising: a processor, which is adapted to: draw an image ofthe elements on the display, the image showing the visible relationship,modify an appearance of one of the elements in the image to represent aproperty of the element, in response to a first input from a user of thestorage system to the system control unit, draw an enlarged image of theelement and represent the property in the enlarged image, and inresponse to a second input from a user of the storage system to thesystem control unit with respect to the enlarged image, represent afurther property of the element in the enlarged image.
 12. Apparatus forinterfacing with a storage system having a plurality of elements, theelements having a visible relationship with each other, and beingcoupled to a system control unit including a display, the apparatuscomprising: a processor which is adapted to: draw an image of theelements on the display, the image showing the visible relationship,modify an appearance of one of the elements in the image to represent afirst property of the element, and in response to an input from theuser, draw an at least partly transparent overlay on the image of theelements and draw on the overlay a representation of a second propertyof the element.